# 1. 数字类型
# 整数：用于计数、编号等（如年龄、数量）
age = 25
student_id = 10086  # 学号

# 浮点数：用于精确到小数的场景（如身高、价格）
height = 1.75  # 身高（米）
price = 99.9   # 商品价格（元）

# 复数：用于科学计算（如信号处理、数学建模）
complex_num = 3 + 4j
real_part = complex_num.real  # 获取实部
imag_part = complex_num.imag  # 获取虚部

# 布尔值：用于逻辑判断（如条件控制）
is_student = True
has_pass = False


# 2. 组合数据类型
# 字符串：用于文本信息（如姓名、地址）
name = "Alice"
address = '北京市朝阳区'
multi_line_str = """这是一段
多行字符串"""  # 三引号支持换行

# 列表：用于存储可变序列（如成绩列表、待办事项）
scores = [90, 85, 95, 88]  # 成绩列表
todo_list = ["看书", "写代码", "运动"]
todo_list.append("吃饭")  # 列表可变，可添加元素

# 元组：用于存储不可变序列（如坐标、日期）
point = (10, 20)  # 二维坐标（x,y）
birthday = (2000, 5, 1)  # 生日（年,月,日）

# 字典：用于存储键值对信息（如用户信息、配置参数）
user = {
    "name": "Bob",
    "age": 30,
    "is_student": False
}
user_email = user["name"]  # 通过键获取值

# 集合：用于去重或集合运算（如标签、好友列表）
tags = {"Python", "编程", "学习", "Python"}  # 自动去重，结果为3个元素
friends = {"A", "B", "C"}
new_friends = {"C", "D", "E"}
common_friends = friends & new_friends  # 求交集（共同好友）


# 打印变量及类型，验证定义
print("整数示例：", age, "类型：", type(age))
print("浮点数示例：", price, "类型：", type(price))
print("复数实部：", real_part, "虚部：", imag_part, "类型：", type(complex_num))
print("布尔值示例：", is_student, "类型：", type(is_student))
print("字符串示例：", name, "类型：", type(name))
print("列表示例（添加后）：", todo_list, "类型：", type(todo_list))
print("元组示例：", birthday, "类型：", type(birthday))
print("字典示例：", user, "类型：", type(user))
print("集合示例（去重后）：", tags, "交集结果：", common_friends, "类型：", type(tags))